Tarea 2: Frequentist Inference

CC6104: Statistical Thinking

Integrantes :

Cuerpo Docente:

Fecha límite de entrega:

Índice:

  1. Objetivo
  2. Instrucciones
  3. Referencias
  4. Primera Parte: Preguntas Teóricas
  5. Segunda Parte: Elaboración de Código

Objetivo

a la segunda tarea del curso Statistical Thinking. Esta tarea tiene como objetivo evaluar los contenidos teóricos de la segunda parte del curso, los cuales se enfocan principalmente en inferencia estadística, diseño de experimentos y test de hipótesis. Si aún no han visto las clases, se recomienda visitar los enlaces de las referencias.

La tarea consta de una parte teórica que busca evaluar conceptos vistos en clases. Seguido por una parte práctica con el fin de introducirlos a la programación en R enfocada en el análisis estadístico de datos.

Instrucciones:

Referencias:

Slides de las clases:

Enlaces a videos de las clases:

Documentación:

Primera Parte: Preguntas Teóricas

A continuación, se presentaran diferentes preguntas que abordan las temáticas vistas en clases. Por favor responda cada una de estas de forma breve.

Pregunta 1:

A continuación, se presenta una serie de declaraciones relacionadas con el sesgo en el muestreo, señale de forma breve el tipo de sesgo que se observa y como podría solucionar el problema de sesgo. Si no observa sesgo en alguna de las declaraciones, comente solamente que es un experimento sin sesgo:

  1. La Tercera quiere conocer la opinión de la gente sobre una propuesta de ley sobre el matrimonio igualitario. Un reportero del diario sale de la central ubicada en Las Condes y selecciona al azar a 300 personas que pasean por allí, preguntándoles sobre la ley propuesta. ¿Qué podemos decir de este plan de muestreo?.

Podemos decir que el plan de muestreo presenta un Sesgo de Selección, debido a que es de común conocimiento que existe mayor densidad de personas con pensamientos políticos más conservadores en la comuna de Las Condes, por lo que es muy probable que gran parte de los encuestados responderá negativamente a esta propuesta de ley.

  1. Una empresa de telefonía quiere conocer el grado de satisfacción de los propietarios de su nuevo servicio 5g, para ver que tal es la calidad del servicio entregado. Para ello, selecciona al azar 500 números entre todo el conjunto de clientes, colocándose en contacto telefónico con ellos. ¿Qué podemos decir de este plan de muestreo?

ai no se

  1. Una compañía aérea quiere hacer una encuesta a sus clientes para mejorar su servicio. Durante un mes, envía un correo electrónico a una muestra aleatoria de clientes que hayan volado con la aerolínea el día anterior (ningún cliente será contactado más de una vez). En el correo electrónico se indica que la compañía aérea desea que el cliente rellene una encuesta de 10 minutos para ayudar a la compañía a mejorar su servicio. ¿Qué podemos decir de este plan de muestreo? ¿el sorteo de un producto podría solventar esto?.

ai tampoco se

Pregunta 2:

Explique una buena practica para desarrollar un muestreo, ¿Cree que en una encuesta real es factible obtener una muestra sin sesgo?

Una buena práctica es hacer un Muestreo Aleatorio Estratificado, el cuál consiste en elegir aleatoriamente la muestra pero bajo restricciones de cantidad y proporción respecto a un parámetro específico de la población strata.

Por ejemplo, una encuesta en el Campus Beauchef podría ser Estratificada si se eligiera de este un 40% de mujeres y un 60% de hombres para evitar la sobre representación de hombres en la muestra, donde en este caso la strata es el género. Otra Strata en este mismo ejemplo podría ser la carrera de los alumnos, región de procedencia, etc.

Si hablamos de una encuesta real, y aunque estratifiquemos la muestra, siempre habrá algún tipo de sesgo por muy mínimo que sea y que no se pueda controlar. El mejor ejemplo de esto es el Sesgo de Sampling Frame, debido a que no podemos asegurar con total certeza que el sample frame está hecho a la perfección, o si algún individuo no respondió con total honestidad.

Pregunta 3:

Nombre una ventaja y una desventaja del método de máxima verosimilitud. Justifique cada una de las ventajas y desventajas señaladas.

Una ventaja notable del método de máxima verosimilitud es que este puede ser utilizado para estimar cualquier parámetro.

Por otro lado, este método depende del tipo de distribución con el cuál distribuyen los datos de la muestra.

Pregunta 4:

Considere que recopila \(X_{1},...,X_{n} \sim Poisson(\theta)\) donde \(\theta\) es un parámetro desconocido. Calcule el estimador de máxima verosimilitud para \(\theta\). Considere la siguiente expresión para la Poisson:

\[ f(X_{i};\theta) = \prod_{i=1}^{n} \frac{\theta^{X_{i}}e^{-\theta}}{X_{i}!}\]

Nota: Puede ser útil utilizar el logaritmo natural para inferir \(\theta\).

Utilizando verosimilitud logarítmica, tendremos que:

\[ \mathcal{L}_{n}(\theta) = \prod_{i=1}^{n} \frac{\theta^{X_{i}}e^{-\theta}}{X_{i}!} = \frac{\theta^{(\sum_{i=1}^{n} X_{i})}e^{- n \theta}}{\prod_{i=1}^{n} X_{i}!} \]

Y al tomar \(S = \sum_{i=1}^{n} X_{i}\) y aplicar la función logaritmo a la expresión, tenemos que:

\[ l_{n}(\theta) = S \ln(\theta) - n\theta - \sum_{i=1}^{n}\ln(X_{i}!)\]

Donde para inferir el valor de \(\theta\) podemos derivar esta función logarítmica e igual a 0. Así:

\[ \frac{\partial }{\partial \theta} l_{n}(\theta) = \frac{S}{\theta} - n \]

\[\frac{S}{\theta} - n = 0\]

\[ \Rightarrow \theta = \frac{S}{n} = \frac{\sum_{i=1}^{n} X_{i}}{n} = \bar{X}\]

Si \(S\) y \(n\) son distintos de 0.

Pregunta 5:

Suponga que usted ha realizado una sampling distribution de dos encuestas diferentes en los que obtiene los datos Muestreo 1 y Muestreo 2, al momento de estimar el parámetro \(\beta\) de cada uno de los muestreos, se da cuenta que el estimador para los diferentes datos varia según el tamaño de observaciones (n). Al darse cuenta de esto, gráfica el histograma del comportamiento de los estimadores, obteniendo los siguientes gráficos:

Suponiendo que la linea roja en los gráficos representa el valor real del parámetro para cada muestra, comente las características que observa en la evolución del estimador para el Muestreo 1 y el Muestreo 2.

Respuesta Aquí

Pregunta 6:

Considere que esta trabajando con intervalos de confianza al \(95\%\) e intenta estudiar un parámetro \(\theta\), ¿porque es incorrecto decir, en la visión frecuentista, que la probabilidad que \(\theta\) pertenezca al intervalo es del \(95\%\)?

Porque un intervalo de confianza no es una afirmación porbabiliística sobre \(\theta\), debido a que el parámetro \(\theta\) es un valor fijo en la visión frecuentista y No una variable aleatoria. La forma correcta de interpretar el intervalo de confianza es que en el \(95\%\) de los experimentos realizados para estimar \(\theta\), el intervalo calculado contiene el valor real de \(\theta\).

Pregunta 7:

Se sabe que al realizar un test de hipótesis es posible equivocarse al tomar una decisión. Sí denotamos \(H_0\) como la hipótesis nula y \(H_1\) como la hipótesis alternativa, existen dos posibles errores que se pueden obtener:

  • Rechazar \(H_0\) cuando \(H_0\) era correcta.
  • Aceptar \(H_0\) cuando \(H_1\) era correcta.

En base a los errores señalados, de un ejemplo de cuando es más relevante disminuir las opciones de aceptar \(H_0\), si \(H_1\) es la correcta.

Respuesta Aquí

Pregunta 8:

Explique cual es la diferencia entre el test one-sided y two-sided, de un ejemplo en donde se pueda utilizar one-sided y otro donde se pueda utilizar two-sided. ¿Es un método mejor que el otro?

La diferencia entre los experimentos one-sided y two-sided es que en los del primer grupo los sujetos o unidades de experimentación desconocen si es que están siendo sometidos al tratamiento del experimento, mientras que en los experimentos two-sided tanto los sujetos como los experimentadores desconocen el cómo se componen los grupos de control y experimentación.

Un ejemplo de experimento one-sided son los experimentos de tipo A/B Testing.

Pregunta 9:

Explique, con sus palabras, a que se refiere la siguiente afirmación: “Un resultado de significancia estadística es distinto a uno de significancia practica”. Complemente su respuesta analizando la siguiente frase:

'Se tienen datos normales de media desconocida. Con los datos, se realiza un test de hipótesis donde la hipótesis nula especifica que la media es cero. Realizando el test, se obtuvo un p-valor de $10^{-10}$, luego producto de este resultado la media necesariamente tiene que ser muy distinta a cero.'

Respuesta Aquí


Segunda Parte: Elaboración de Código

En la siguiente sección deberá resolver cada uno de los experimentos computacionales a través de la programación en R. Para esto se le aconseja que cree funciones en R, ya que le facilitará la ejecución de gran parte de lo solicitado.

Para el desarrollo preste mucha atención en los enunciados, ya que se le solicitará la implementación de métodos sin uso de funciones predefinidas. Por otro lado, Las librerías permitidas para desarrollar de la tarea 2 son las siguientes:

# Manipulación de estructuras
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.0 --
## v ggplot2 3.3.3     v purrr   0.3.4
## v tibble  3.1.0     v dplyr   1.0.5
## v tidyr   1.1.3     v stringr 1.4.0
## v readr   1.4.0     v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
# Para realizar plots
library(ggplot2)
library(plotly)
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
# Manipulación de varios plots en una imagen.
library(gridExtra)
## Warning: package 'gridExtra' was built under R version 4.0.5
## 
## Attaching package: 'gridExtra'
## The following object is masked from 'package:dplyr':
## 
##     combine

Pregunta 1: Estimadores.

Esta pregunta tiene como objetivo comprobar a través de gráficos las características que poseen los estimadores.Por favor responda de forma separada las siguientes preguntas:

  • En clases se vio que el estimador \(\hat{p}_{n} = \frac{1}{n} \displaystyle{\sum_{i=1}^{n}}X_{i}\) es un estimador consistente para \(X_{i}\) Bernoulli de tasa \(p\), verifique esto númericamente para una distribución Bernoulli de \(p=0.5\), es decir grafique como se ve \(\hat{p}_{n}\) para valores de \(n\) y compárelo con el valor verdadero.

  • Sabemos que no todos los estimadores insesgados son consistentes. Considere el estimador \(T_{n} = \hat{p}_{n} + \epsilon_{n}\) donde \(\epsilon_{n} \sim \mathcal{N}(0,1)\) es posible verificar que \(T_{n}\) es insesgado pero no es consistente, para ver esto repita lo que realizo en el punto anterior y estudie lo que sucede. ¿Porque cree que no es consistente el estimador?, Justifique su respuesta.

Respuesta:


Pregunta 2: Intervalo de Confianza

El objetivo de esta pregunta es visualizar los intervalos de confianza en datos simulados de una población, para visualizar la incertidumbre que presenta una estimación. Para esto, ustedes deberán generar datos de una distribución exponencial, la cual deberán considerar como los datos de la población. En base a los datos generados, estimen la distribución de la media de la población a través de la sampling distribution de la media. Notar que el valor obtenido en cada muestra les entregará un estimador de la media, o sea, para cada valor podremos calcular un intervalo de confianza. Hecho esto, calculen el intervalo de confianza del \(95\%\) para cada una de las medias estimadas, utilizando la función de cuantil vista en clases.

Para la elaboración de esta parte de la tarea, se recomienda realizar el experimento con la siguiente secuencialidad:

  • Obtener la media de la población (en este caso la exponencial).
  • Realizar una sampling distribution con un tamaño de muestra igual a \(30\) sobre los datos generados de la población. Repita la obtención de la media un número elevado de veces (recomendación \(5000\) veces).
  • Calcular el intervalo de confianza del \(95\%\) para cada uno de las medias obtenidas en las iteraciones.
  • De acuerdo a los valores obtenidos (medias e intervalos de confianza), grafique cada una de las medias obtenidas en conjunto a sus intervalos de confianza. Aquí debe notar que, si el intervalo de confianza contiene a la media de la población, este se considerará como parte del intervalo de confianza del \(95\%\), haga un conteo de cuantos valores están contenidos en este intervalo.
  • Señalar en el plot de intervalo de confianza los valores que están dentro y fuera del intervalo. Comente que visualiza de los intervalos de confianza obtenidos, ¿existe incertidumbre?.
  • En base al conteo realizado en el punto anterior, observe cómo se comporta la proporción de intervalos de confianza, ¿es acaso este igual al \(95\%\) teórico usado para calcularlo?.

Notar: Responder cada una de las preguntas señaladas en esta sección.

Hints:

  • Para realizar la sampling distribution podría serle útil el comando sample().
  • Puede ser útil generar un dataframe para graficar con ggplot2.
Gráfico esperado para intervalos de confianza

Del gráfico es posible observar que la línea punteada es la media de la población y los puntos de colores son las estimaciones con sus respectivos intervalos de confianza. Notar que para el plot no se utilizaron las 5000 veces, se recomienda utilizar 100 valores para visualizar bien el fenómeno.


Respuesta:

# Definimos tamaños de muestreo
tamano_muestra = 30
n_muestras = 5000

# Generamos una exponencial para luego generar el subsampling de ella
exponencial = rexp(10000, rate = 2)
# Obtenemos la media poblacional de la exponencial
exp.mean <- mean(exponencial)

# Creamos el data.frame general para poder graficarlo posteriormente:
confidence <- data.frame(
  mean = double(),
  error = double(),
  group = integer()
)

# Contador de ocurrencias de in y out
n_in = 0
n_out = 0

# Sampling distribution, calculo del intervalo de confianza y proporción.
for (i in 1:n_muestras){
  # En base a la distribución exponencial, generamos multiples sampling distribution.
  sampling <- sample(exponencial, tamano_muestra, replace = FALSE)
  
  # Se estima la media del muestreos y obtenemos el intervalo de confianza de 
  # cada una de las muestras
  sample.mean <- mean(sampling)
  sample.sd <- sd(sampling)
  sample.se <- sample.sd/sqrt(tamano_muestra)
  
  alpha = 0.05
  t.score = qt(p=alpha/2, df = tamano_muestra - 1, lower.tail=F)
  
  margin.error <- t.score * sample.se
  
  # Se determina si la media real pertenece al intervalo o no
  g = "IN"
  
  if (exp.mean >= sample.mean - margin.error && exp.mean <= sample.mean + margin.error){
    # Si la media pertenece al intervalo calculado, es del grupo 0
    g = "IN" 
    n_in = n_in + 1
  } else {
    # Si la media no pertenece al intervalo, es del grupo 1
    g = "OUT"
    n_out = n_out + 1
  }
  
  z <- data.frame(mean = sample.mean, error = margin.error, group = factor(g))
  confidence <- rbind(confidence, z)
}
# Plot de Intervalos de confianza (ver respuesta esperada)
plot1 <- ggplot(confidence, aes(mean, c(1:5000), colour = group)) + 
  geom_point() +
  xlim(0, 1.5) +
  scale_color_manual(values=c("#83D7FE", "#FE83BB")) +
  geom_errorbarh(aes(xmax = mean + error, xmin = mean - error)) +
  geom_vline(aes(xintercept=exp.mean),
            color="black", linetype="dotted", size=0.5) +
  labs(x="Means", y="Iteration") +
  ggtitle("Intervalos de Confianza \n n = 5000, t = 30") +
  theme(plot.title = element_text(hjust = 0.5))

plot1

# Plot de proporción de Intervalos de confianza
plot2 <- ggplot(confidence, aes(x = group)) + 
  ylim(0, 5000) +
  geom_histogram(stat="count", color="black", fill="white") +
  geom_text(stat= "count", aes(label=(..count.. /n_muestras)*100), vjust=-1, size=3) +
  ggtitle("Proporción Intervalos de Confianza en porcentaje \n n = 5000, t = 30") +
  theme(plot.title = element_text(hjust = 0.5))
## Warning: Ignoring unknown parameters: binwidth, bins, pad
plot2


Pregunta 3: Estimación de Máxima Verosimilitud

En esta pregunta deberán trabajar con el dataset Body Measurements_original.csv. El objetivo será visualizar e inferir los parámetros que componen a dos variables del dataset. Para esto deberá visualizar el comportamiento de la likelihood, utilizando diferentes cantidades de datos, y realizar la optimización de la likelihood para obtener los estimadores de las variables a través de la función nlminb(). Notar que esta pregunta consiste en dos partes.

  1. La primera actividad consiste en realizar inferencia sobre la variable TotalHeight, donde deberá asumir y realizar los siguientes puntos:
  • Asuma que los datos de TotalHeight distribuyen de forma gaussiana. Visualice esto a través de un gráfico de densidad en la variable TotalHeight.
  • Grafique a través de un gráfico de calor el rango de valores en que se mueve la solución del problema de likelihood, para esto defina su problema en base a -log(likelihood). Mas información se entrega en el esqueleto de la pregunta.
  • Visualice cómo se comporta la -log(likelihood) con diferentes cantidades de datos para la estimación de \(\mu\); para visualizar esto, fije \(\sigma\) en 12 y varié solamente el valor de \(\mu\). Para observar el comportamiento del estimador con diferentes cantidades de datos, realice un subsampling de 100 datos, 300 datos y la totalidad de los datos de la variable TotalHeight. ¿Qué se puede observar acerca del comportamiento del estimador \(\mu\)?, responda brevemente esta pregunta.
  • Finalmente aplique el comando nlminb() sobre la likelihood y encuentre el máximo o mínimo del problema a optimizar. Señale implícitamente cuales son los valores obtenidos para \(\sigma\) y \(\mu\).
  1. Para la segunda parte deberá escoger otra de las variables que componen el dataset, como por ejemplo Age, y estimar a traves de la -log(likelihood) solo los parámetros de la distribución que observa (notar que solo debe inferir los estimadores de variable escogida). Para señalar la distribución de los datos se recomienda realizar el plot de densidad y comparar con el comportamiento de las distribuciones teóricas vistas en clases.

Cabe señalar que el método de máxima verosimilitud deberá ser programado por usted y no podrá utilizar librerías que entreguen el valor directo (por ejemplo, la librería MASS).

Respuesta

# Carga de dataset

# Primera Parte
# Plot de densidades de la variables TotalHeight

# Plot de Likelihood
# - Generar una función de la likelihood de la normal
# - Señalar el rango de valores para observar la solución. Genere un vector con 
# los valores

# Plotear gráfico de calor a través filled.contour()
ll_plot <- function(a, b) {
  # Definimos la likelhood
  
}

# Vectorizamos nuestra función para recorrer y estimar los valores
ll_plot = Vectorize(ll_plot)

mu = ... # definimos secuencia de 20 -> 80 de 0.5 en 0.5.
sigma = ... # definimos secuencia de 5 -> 23 de 0.5 en 0.5.
ll_plot = outer(X=mu, Y=sigma, ll_plot)

# Obtenemos el mapa de calor con los valores mas probables
filled.contour(x=mu, y=sigma, z=ll_plot, xlab=expression(mu), 
               ylab=expression(sigma))

# Plot de comportamiento de SOLO mu al variar la cantidad de datos



# Obtener la solución que minimiza o maximiza la likelihood
# Producto de como funcionan nlminb es necesario definir un nuevo tipo de función
# para encontrar los parametros de la likelihood, por favor revisar estructura entregada.
likelihood <- function(param) {
  # Definimos los parámetros de entrada de la función
  mu = param[1]
  sigma = param[2]
  # Definimos la likelihood como la suma logaritmica de la función de densidad
  
}

# Optimizador para encontrar los parametros de la likelihood. Referencia: https://www.rdocumentation.org/packages/stats/versions/3.6.2/topics/nlminb
nlminb(objective=likelihood, start= , lower= , upper= )

# Segunda Parte
# Graficar la densidad y obtener el parámetro de la variable propuesta.

Pregunta 4: Bootstrap

Para esta pregunta será necesario cargar el dataset SAT_GPA.csv, con el que estudiaremos la correlación entre las variables SAT y GPA. Dentro de las variables: GPA representa el rendimiento académico de un estudiante en el sistema estadounidense, mientras que SAT es una prueba de admisión universitaria en estados unidos. Las actividades por realizar en esta pregunta son las siguientes:

  • Visualizar la correlación de los datos.
  • Obtener la correlación entre los datos de las variables Total, quien representa el resultado de la prueba SAT en USA, y la variable GPA.
  • Programar el método Bootstrap para calcular el error estándar de la correlación. Para la simulación utilice un numero de muestras (B) igual a 5000 o algún otro numero de este orden.
  • Visualizar a través de un gráfico el histograma obtenido al realizar el muestreo con Bootstrap.
  • Obtener el 95% de intervalo de confianza de la estimación por cuantiles como se vio en clases.

Nota: No se permite la utilización de librerías de bootstrap para esta parte.

Respuesta:


 

A work by CC6104